RISC-V架构在基因组学工作负载中的挑战与机遇
Gonzalo G´omez-S´anchez, Challenges and Opportunities for RISC-V Architectures towards Genomics-based Workloads, 27 Jun 2023
摘要
大规模超级计算架构对于科学计算的大数据应用至关重要。例如,基因组学分析需要对每个患者进行数百万次数据转换和测试,以找到相关的临床指标。因此,为了确保开放和广泛使用高性能技术,政府和学术界正在推动在大规模科学环境中引入新的计算架构。这就是RISC-V的应用场景,它是一种开源且免费的指令集架构。为了评估相关技术,我们在本文中提供了Variant Interaction Analytics应用场景基准套件和数据集。通过这个应用场景,我们使用计算和统计方法寻找可能的基因相互作用,为繁重的ETL(Extract、Transform、Load)数据处理提供了一个典型案例。当前的实现是在基于x86的超级计算机上进行的(例如,巴塞罗那超级计算中心的MareNostrum IV),而未来的步骤则提议将RISC-V作为下一代MareNostrum的一部分。在这里,我们描述了Variant Interaction应用场景,突出了利用高性能计算的特点,并指出了关于下一代RISC-V开发和设计的注意事项和挑战,这些挑战来自于对x86和RISC-V架构进行首次比较,并在真实的硬件实现上运行Variant Interaction。
关键词:RISC-V,科学计算(Scientific Computing),高性能计算应用,上位性(Epistasis),基因组学(Genomics),欧洲处理器计划(EPI, European Processor Initiative)。
1 引言
依赖大规模超级计算机进行大数据处理的科学应用程序,可通过摄取大量数据来发现大尺度和小尺度的相关临床、环境、社会或经济指标(例如,对于基因组学数据集,每个患者需要处理数百万次数据转换和测试[13])。这凸显了政府和研究机构在超级计算基础设施上的投资需求,以提供高性能计算和高效管理资源。目前的计算架构基于x86和ARM,均为专有和闭源技术。对于开放研究和硬件开发,对于此类技术的有限访问,会导致在隐私和安全方面缺乏可信度。为解决上述问题,我们在这里提出使用RISC-V,一种开源且免费使用的指令集架构。近年来,工业界和学术界对采用RISC-V产生了日益浓厚的兴趣,主要受战略性国际利益的推动。例如,欧洲委员会正在推动成熟的RISC-V开发,围绕欧洲处理器计划(EPI)[17]构建整个生态系统,旨在在减少非欧洲设计和制造商的情况下实现技术主权。
EPI项目计划与本地和国际产业(如英特尔)合作,设计和制造首个完全基于开放标准的欧洲芯片。软件行业已经开始支持RISC-V架构,例如Red Hat提供对Linux Fedora发行版[3,15]的支持,Google宣布对其进行Android支持[2]。同时,硬件行业正在转向采用RISC-V标准,并与新的基于RISC-V的芯片的设计和制造进行合作[8]。当前已经有功能原型在市场上销售:例如,HiFive [5]是一家生产商提供基于RISC-V的芯片+板卡的商业可用产品,等等。
RISC-V正在成为一种自然的替代方案和新硬件时代的事实标准,取代当前的通用芯片。然而,还没有一款具有与x86等效特性的制造芯片。当前的RISC-V实现缺乏基本扩展,并且许多应用缺乏对特定硬件相关特性的支持。此外,其它编程语言仅支持RISC-V扩展的子集,例如缺乏向量化或浮点运算。因此,对于拟议实现进行基准测试需要新的基准测试,专注于当前技术水平,既能比较现有功能,又能指出尚未实现的挑战,同时又能在学术界和工业界中具有实际适用性。关于如何在这种新架构下对工作负载进行基准测试的标准化的缺乏,开启了高性能计算领域的新研究领域。由于在RISC-V的实施状态下,现有的经典x86架构基准测试将不公平地与RISC-V进行比较,因此在这里我们提出了一个标准基准测试,以实现对当前架构的功能的完整比较,基于超级计算基础设施中进行的实际基因组分析。目标是能够公平地比较RISC-V开发的进展,识别挑战和改进的可能性,并从对实际HPC工作负载在RISC-V架构上进行的第一次比较中得出结论。
在本文中,我们提出了Variant Interaction Analysis工作负载,作为性能基准测试,用于探索x86和当前实现的RISC-V架构之间的差异,并确定后者在我们基于科学的实际HPC工作负载方面的改进领域。我们分析RISC-V需要解决的挑战,以便与x86一样表现优异,并强调了主要的待解决问题。
迄今为止,尚未进行这种分析,收集此类知识对于正在进行的RISC-V原型设计至关重要,因为科学HPC绑定应用程序是将从这种新型架构中受益的主要目标之一。在此作为基准套件提出的Variant-Interaction Analytics(VIA)工作负载是一种基因组学用例,其中需要分析大量基因组变体的成对组合,以找到其与疾病的关联[26],这是人类计算基因组学的目标之一。通常,研究每个变体对复杂疾病的影响是一次性进行的。在变体互作研究中,重点是与复杂疾病互动的变体,这取决于至少第二个变体(见图1)。将多因素维度约简(MDR)等方法与HPC技术结合起来,可以帮助我们研究大型基因组数据集中成对组合的影响,帮助我们理解这些疾病。在这类研究中,组合的数量可能超过1012个。由于需要执行大量测试以及在资源消耗、性能和数据量(从存储到内存处理)方面的要求,我们可以将这种分析应用视为面向HPC的,以及具有基因组学背景和敏感用例,作为评估RISC-V架构上实际HPC工作负载的关键性能指标(KPI)的参考。本文的主要贡献包括:
贡献1:适用于RISC-V的科学HPC基于分析应用程序的基准测试,根据当前RISC-V实现和设计的能力进行调整,以与其它已建立的架构进行比较,并跟踪其进展。
贡献2:识别解释RISC-V实现和x86之间性能差异的挑战,这是在实际HPC应用程序中的问题。
贡献3:对RISC-V的进展和改进进行讨论和建议,以实现下一步设计。
贡献4:创建一个公开可用的基准数据存储库,用于在RISC-V平台上运行[4]。
本文的其余部分结构如下:第2节介绍现有技术状况,第3节讨论标准数据集和基准测试方法,第4节展示了执行评估。最后,第5节对发现的挑战和下一步进行了讨论和建议。
2 相关工作
在欧洲自主权的背景下,欧盟建立了一个围绕芯片设计和制造的生态系统。为此,他们选择了RISC-V作为开源ISA。其中的关键元素是欧洲处理器计划(EPI)[17]。在此基础上,MareNostrum实验性超级计算平台(MEEP)[14]项目提出了一个基于RISC-V的开源平台,用于在RISC-V基础的HPC生态系统上进行实验。MEEP是一个开源数字实验室,为基于RISC-V的工作负载提供了一个理想的实验平台。它集成了一个加速器,允许将计算从内存操作中分离出来,优化加速器以处理密集(计算密集型)和稀疏(内存密集型)工作负载。MEEP邀请软件和硬件工程师解决HPC、AI、ML和DL领域的未来挑战。
在“面向下一代计算机的RISC-V加速器设计”(DRAC,Designing RISC-V-based Acccelerators for next generation Computers)[11]项目中,[23]的作者在gem5处理器上实现了一个RISC-V矢量指令流水线。然后,他们运行了标准的HPC应用基准测试套件[19],并对其进行了适应,以用于在RISC-V上基准测试矢量指令的性能,并采用了矢量长度不可知的机制,以便与任何其它支持SIMD的ISA(例如x86,ARM)进行容易地比较。
RISER [9],OpenCUBE [6],Vitamin-V [7]和AERO [1]是四个新的EUHORIZON项目,它们将共同为RISC-V提供一个成熟的云环境。RISER将集成低功耗组件,并构建一个加速器平台,其中包括EPI的基于Arm的Rhea处理器和PCIe加速板。OpenCUBE将提供一个完整的云计算蓝图解决方案,部署在欧洲基础设施上,而Vitamin-V将部署一个完整的硬件-软件栈,用于基于RISC-V的云服务,重点关注EPI和RISC-V的先进云开源技术。最后,AERO项目旨在将开源软件生态系统引入云计算的编译、运行时和辅助软件部署服务。Vitamin-V还将在TPC委员会[10]旗下由行业开发的一套与大数据应用相关的基准测试套件进行移植,这是TPC-H大数据分析基准测试。
此外,RISC-V也开始在基因组学领域得到应用。Wu等人[27]在FPGA上实现了基于RISC-V的设计,后来用于DNA测序中的碱基调用。DNA测序是获得个体基因组序列的基本方法,因此对于许多生物信息学应用,如基因组学,具有重要意义。在本文中,他们分析了使用RISC-V作为更节能的测序平台的可能性。与x86架构相比,他们实现了1.95倍的能量效率比,同时比ARM架构更节能38%。
在基因组学领域,寻找基因组变异与复杂疾病之间的显著关联主要是通过全基因组关联研究(GWAS)[25]进行的。这些研究侧重于发现与发病风险相关的变异体。这涉及使用多种方法,包括逻辑回归[16],贝叶斯分区[29]和其它统计方法[12]。
虽然GWAS侧重于单独检测疾病易感位点,但在变异相互作用研究中,搜索范围扩大到检查变异体的相互作用效应,这些效应可以是加性的或上位的[20]。为了解决变异体相互作用,不同的方法、工具和策略已经出现,主要侧重于成对相互作用[21]。值得注意的是,多因素维度缩减(MDR)[24]是一种基于列联表的有监督分类方法,在该领域已成为参考,用于降低问题的维度并确定与复杂疾病相关的变异体组合。
3 基准测试方法
3.1 变异体相互作用分析(VIA)工作负载
我们在变异体相互作用分析(VIA)工作负载中应用的方法是MDR:一种基于列联表的统计方法,用于降低问题的维度。变异体-变异体分析将针对病例和对照组得到的计数转换为简单的二元变量,通过将每对变异体的所有可能等位基因组合分类为高风险/低风险,从而将分析降低到只有一个维度。它采用了朴素贝叶斯方法,从每个变异体-变异体交互构建概率分类器,并总结最佳组合进行预测。图2显示了算法的5个步骤。计算一对变异体并不涉及大量内存或计算资源。然而,我们需要处理的大量变异体组合对要求使用高性能计算(HPC)技术使其成为可能(请参阅本节末尾的数据描述)。由于处理一对变异体组合在计算上是相互独立的,我们可以利用并行计算框架。此外,由于这些组合的独立性,我们还可以将其缩小到不同架构中进行测试,并将结果推广到真实情况下的场景。
3.2 框架
该方法是使用Python开发的,并利用Apache Spark框架进行并行计算[28]。Apache Spark是一个用于高容量工作负载的开源分布式处理系统。凭借其内存缓存和优化查询系统,它可以处理任何大小的数据。它具有主从架构,将单个主节点与多个从节点结合在一起。
3.3 数据集
用于基准测试实验的数据集是基于Northwestern NuGENE项目群体的合成数据集[22]。我们保持了结构和病患数量,并使用随机值重新创建了染色体的一个部分,生成了新的合成病患数据。数据以压缩的CSV格式存储,遵循表1中的结构。
数据的标签保存在另一个文件中,包括病患ID和二进制标记,指示病患是病例还是对照组。像NuGENE这样的队列由11,297,253个变异体组成,形成了一个11,297,253行x3,389列的数据集。在变异体相互作用分析中,我们研究每个成对交互与疾病之间的关联,这意味着在最简单的情况下,我们将处理每一对可能的组合。这意味着组合的数量大约为(11,297,253 x 11,297,252)/2 = 63,813,957,024,378。为基准测试创建的合成数据集是一个缩小版本,生成了10个包含所有病患的50个SNP文件。我们没有减少病患数量,因为保持相同的结构使我们可以通过乘以需要处理的组合数量轻松推断计算时间。
4 实验
4.1 评估基础设施
为了进行评估,我们部署了一个由最多四个HiFive Unmatched开发板组成的集群(图3a),其中包括一个运行在1.2 GHz的四核RISC-V芯片组。该芯片支持IMAFDC扩展,因此不包括矢量扩展。每个开发板配备16GB的DDR4内存,并通过1Gbps以太网网络进行互连。
另一方面,我们的x86集群由一个OpenStack环境组成,其中包含四台虚拟机,具有以下特点:8个核心,16GB的DDR3内存,并通过OpenStack Neutron网络进行互连。与开发板不同,OpenStack上的实际硬件要成熟得多,并且是一个生产环境。基础设施(图3b)由SandyBridge-EP E5-2670组成,每个节点拥有8个核心,时钟频率为2.6 GHz,以及64GB DDR3内存。节点之间的互连采用了40Gbps的FDR10 InfiniBand网络。这对于理解下一节中讨论的性能差异非常重要。请注意,这是一种过时的平台。然而,我们正在与性能较低的RISC-V基础设施进行比较。因此,比较仍然能够让我们了解需要解决的挑战,以使RISC-V成为大众化硬件。
我们将Java Zero VM 11编译到RISC-V以支持Apache Spark。在开发本文时,尚未完全将Java移植到RISC-V。这是选择Zero VM作为唯一可行选项的原因。另一方面,选择了版本11,因为我们的项目中的其它工作负载依赖于这个版本。此外,我们还启用了对RISC-V的Python运行时的支持。这使得我们可以在RISC-V上运行PySpark,这是一个Python库,用于调用Spark运行时(基于Java),其中工作负载依赖于它。
4.2 可扩展性分析
为了研究工作负载在数据量方面的可扩展性,我们进行了实验,对S个文件进行了变化,分别使用了1、3和5个文件。由于我们对每个文件执行成对组合,每增加一个文件,处理的组合数量增加,分别为每个案例处理的组合数为2,500、22,500和37,500个。
为了研究不同环境下的行为,我们还进行了实验,变化可用的节点和核心数,模拟了最多十二个不同的组合。
我们对每个核心和每个节点进行了扩展性测试:
每个核心的可扩展性:我们将核心扩展到四个,因为RISC-V Unmatched开发板最多有四个可用的核心。
每个节点的可扩展性:我们将三个节点作为工作节点进行扩展。这是因为我们有最多四个RISC-V开发板。我们不能使用四个节点进行测试,因为这将意味着一个节点需要与主节点共享其资源。这样做会导致实验因缺乏资源而无法运行,因为Spark运行时是一个内存密集型和计算密集型的运行时,它被设计用于大数据,但在RISC-V上我们有一个更受限的平台。因此,我们必须根据我们的平台能力调整执行测试,而不牺牲实验的过程。
因此,通过将三个组合扩展到扩展节点和最多四个核心扩展到扩展生产,共进行了十二个模拟。这些模拟在下面描述的所有实验中运行(如果相关)。
我们使用类似的资源来比较两种架构的性能,以时间消耗为指标。由于工作负载的目标是以尽可能少的时间计算尽可能多的变异体组合,执行时间是一个合适的关键绩效指标。然而,由于每种架构的芯片组在运行时使用的频率不同,执行时间可能会让人产生误解,认为x86始终比RISC-V快得多。因此,我们没有在实验中比较执行时间,而是将时间从秒转换为周期,以实现更公平的比较。为此,我们必须将执行时间(秒)乘以每个处理器的频率(赫兹)。
关于实验的维度,计算的文件数量选择为最多五个。这是因为RISC-V花费指数时间来计算更大数量的文件。有人可能会认为这不现实,因为在真实情况下,文件的数量将远大于此数。然而,得到的指标是有效和合理的,因为每个文件都是独立计算的。因此,所得到的时间很容易推断到真实数据集的情况。
所进行的实验解释如下。
4.3 矢量 vs 非矢量
最初,我们在x86和RISC-V平台上运行了不同的实验。图4显示了使用两种不同版本的x86进行性能比较:
矢量:使用矢量操作的x86架构的原始实现,利用numpy库。在所有12个环境中进行的所有实验显示,x86的性能至少比RISC-V快5倍以上。
非矢量:由于RISC-V芯片组尚不支持矢量操作,我们测试并实现了x86的非矢量版本,以进行更公平的比较。结果显示,在这个版本下,两种架构之间的周期差异变小了。然而,x86仍然至少比RISC-V快3倍以上。工作负载的大部分计算部分依赖于numpy来执行操作。我们的非矢量x86版本禁用了numpy,并尝试使用尽可能多的标量操作,从而实现了次优性能。
在两种情况下,差异在文件数量较少时增大。原因是一方面,因为在RISC-V中,加载Spark和部署节点所需的时间约为535秒(2.6 x 1010周期),在周期方面比x86慢25倍,而x86只需要不到10秒(6.4 x 1111周期)。另一方面,我们已经禁用了x86上的矢量化操作,通过禁用numpy实现。然而,这并不能阻止Python即时(JIT)编译器自行进行一些优化,并使用一些矢量指令。此外,Apache Spark运行时没有重新编译以禁用矢量指令,因此在上下文初始化和对其的一些内部调用中,也会存在矢量指令。不重新编译Spark运行时的原因是其复杂的构建系统,加上在Java上禁用矢量指令的复杂性,需要在编译器和JIT编译器中都进行这样的操作。
4.4 核心可扩展性
基于我们之前的结果,我们将非矢量x86版本设置为与我们的RISC-V板进行更公平比较的版本。通过增加核心数量来查看性能,如图5a所示,x86和RISC-V的周期需求随着核心数量的增加而减少。然而,x86在核心方面的扩展性优于RISC-V,如图5b所示。增加差距的原因有待确定。要找出原因,需要检查x86芯片组和RISC-V芯片组的设计。我们知道它们是不同的,一个是生产芯片组,而另一个是开发的,而且相当不成熟。它们的目的不同。因此,我们预计在核心到内存通信以及核心到缓存等方面会有不同的能力和设计元素。这一探索将作为未来的工作,因为本文更希望侧重于软件方面。
4.5 节点可扩展性
图6a和图6b展示了x86和RISC-V平台上节点数量(即工作节点数量)的可扩展性。可以看到,随着节点数量的增加,在x86上,周期数减少,节点扩展性增强。随着处理的文件越来越多,性能提升更加明显。然而,在RISC-V上,使用更多节点并没有明显改善。处理五个文件时,使用多于一个节点会导致周期数稍微下降,但从两个节点到三个节点并没有任何改善。事实上,在大多数进行的测试中,从两个节点增加到三个节点会导致性能下降。
为了对RISC-V发生的情况进行更深入的分析,我们测量了运行VIA工作负载时不同步骤的执行时间。图7描述了运行VIA工作负载时不同阶段的执行时间。虽然工作负载的运行时间确实随着节点数(即工作节点数)的增加而稍微减少,但总时间却增加,这是因为在加载数据和保存结果所花费的时间。可能导致加载时间增加的原因是,在当前的实现中,Spark在执行时间内生成数据切片并将其发送给每个工作节点。因此,在计算真正的工作之前,节点必须事先接收到数据。这个切片是在主节点上完成的,因此无论我们是否将数据放入本地磁盘都没有关系。在x86上,我们确实有一个生产和强大的网络互连,然而,在RISC-V上,这个网络更有限,不太适合大数据的用例。解决此问题的一种方法是将Hadoop分布式文件系统(HDFS)置于运行时之下。这样,我们将首先将数据加载到HDFS中,此时数据将在工作节点之间切分。这将实现这样的效果:在运行工作负载时,数据将已经被切分并位于工作节点上。因此,数据加载阶段花费的时间将是最小的,并且不会产生我们目前遇到的影响。最后,我们将所有上述实验的结果放在一个开放数据仓库中,暂时可以在[4]找到。在不久的将来,我们计划将其移至一个适当的网站,并在线展示不同的图表和指标。此外,该仓库还包含下载VIA工作负载的权限,以及如何在自己的平台上重现它的说明。该仓库和工作负载遵循Apache License 2.0发布。
5 建议和讨论
通过进行的基准测试实验,RISC-V在性能方面仍然与x86架构相比存在明显的差距。
主要挑战来自于RISC-V开发板尚未引入或适当启用矢量扩展。当尽可能地禁用这些扩展时,性能差距会变小。剩下的差距,在一个数量级以下,主要源于现有的RISC-V平台还处于研究和开发阶段,而x86已经是一个值得信赖的生产环境。因此,下一步需要解决的问题是缩小这个差距。
在对节点可扩展性进行基准测试时,我们观察到数据加载成为测试的RISC-V板的瓶颈。实验表明,RISC-V实现按预期进行良好的可扩展性,但时间改进被数据加载的开销所掩盖。所提出的基准测试在Spark上运行,利用内存中的数据分布,因此当数据分布的阻塞逻辑可用时(例如使用HDFS),工作节点可以并发地快速获取数据块。然而,如果没有这样的阻塞逻辑,例如在常规文件系统中读取文件,数据必须由主节点获取(第一个I/O瓶颈),然后在工作节点之间进行洗牌(第二个I/O瓶颈)。下一步将是移植和启用HDFS或等效格式或DFS,以使我们能够观察节点可扩展性,而不考虑当前架构之间I/O性能的差异。这也包括网络通信。
总结而言,在当前阶段,比较架构的主要挑战在于x86指令与当前实现的RISC-V芯片上可用指令之间没有一对一的匹配。此外,芯片组之间的设计差异等其它因素也使得在平台之间进行绝对公平的比较变得困难。因此,我们被迫使用不同的度量标准,更关注与循环/操作-每分析/数据相关的指标。
下一步是进一步优化基准测试过程,首先将数据加载时间与工作负载的执行本身隔离。其次,将工作负载在两种架构上都进行编译并使用相同的指令,比较两种架构上最佳实现的工作负载。
---【本文完】---
近期受欢迎的文章:
我们正处于数十年未见之大机遇中
新技术爆发式发展,催生新产品
然而,颠覆式创新并非简单的技术堆叠
而是异常复杂的系统工程
需要深度洞察
欢迎一起分享思考和见解
References
1. Accelerated european cloud. https://aero-project.eu, accessed: 2023-03-16
2. Android open source project ports to risc-v. https://www.eenewseurope.com/en/android-open-source-project-ports-to-risc-v/, accessed: 2023-03-06
3. Fedora/risc-v project homepage. https://fedoraproject.org/wiki /Architectures/RISC-V, accessed: 2023-03-23
4. Genomics risc-v open-data repository. https://github.com/MortI2C/genomics_riscv_openrepo/, accessed: 2023-03-23
5. Hifive unmatched risc-v board. https://www.sifive.com/boards /hifive-unmatched, accessed: 2023-03-23
6. Opencube open-source cloud-based services on epi systems. https://cordis.europa.eu/project/id/101092984, accessed: 2023-03-16
7. Project vitamin-v virtual environment and tool-boxing for trustworthy development of risc-v based cloud services. https://vitamin-v.upc.edu, accessed: 2023-03-16
8. Risc-v shines at embedded world with new specs and processors. https:// www.allaboutcircuits.com/news /risc-v-shines-at-embedded-world-with-new-specs-and-processors/, accessed:2023-03-23
9. Riser risc-v for cloud services. https://www.riser-project.eu, accessed: 2023-03-16
10. Transaction processing performance council. https://www.tpc.org/, accessed:2023-03-16
11. Abella, J., Bulla, C., Cabo, G., Cazorla, F.J., Cristal, A., Doblas, M., Figueras, R., Gonz´alez, A., Hern´andez, C., Hern´andez, C., Jim´enez, V., Kosmidis, L., Kostalabros, V., Langarita, R., Leyva, N., L´opez-Parad´ıs, G., Marimon, J., Mart´ınez, R., Mendoza, J., Moll, F., Moret´o, M., Pav´on, J., Ram´ırez, C., Ram´ırez, M.A., Rojas,C., Rubio, A., Ruiz, A., Sonmez, N., Soria, V., Ter´es, L., Unsal, O., Valero, M., Vargas, I., Villa, L., Ram´ı´ıez, C.: An academic risc-v silicon implementation based on open-source components. In: 2020 XXXV Conference on Design of Circuits and Integrated Systems (DCIS). pp. 1–6 (2020)
12. Cantor, e.a.: Prioritizing gwas results: a review of statistical methods and recommendations for their application. The American Journal of Human Genetics 86(1), 6–22 (2010)
13. Eisenstein, M.: Big data: The power of petabytes. Nature 527(7576), S2–S4 (Nov 2015), https://doi.org/10.1038/527S2a
14. Fell, A., Mazure, D.J., Garcia, T.C., Perez, B., Teruel, X., Wilson, P., Davis, J.D.: The marenostrum experimental exascale platform (meep). Supercomputing Frontiers and Innovations 8(1), 62–81 (Apr 2021), https://superfri.org/index.php/superfri/article/view/369
15. Ince, M.N., Ledet, J., Gunay, M.: Building an open source linux computing system on risc-v pp. 1–4 (2019)
16. Kooperberg, C., Ruczinski, I.: Identifying interacting snps using monte carlo logic regression. Genetic Epidemiology: The Official Publication of the International Genetic Epidemiology Society 28(2), 157–170 (2005)
17. Kovaˇc, M.: European processor initiative: The industrial cornerstone of eurohpc for exascale era. In: Proceedings of the 16th ACM International Conference on Computing Frontiers. p. 319. CF ’19, Association for Computing Machinery, New York, NY, USA (2019), https://doi.org/10.1145/3310273.3323432
18. Krzywinski, M., Schein, J., Birol, I., Connors, J., Gascoyne, R., Horsman, D., Jones, S., Marra, M.: Circos: an information aesthetic for comparative genomics. Genome research 19(9), 1639–1645 (2009)
19. Luszczek, P., Dongarra, J.J., Koester, D., Rabenseifner, R., Lucas, B., Kepner,
J., McCalpin, J., Bailey, D., Takahashi, D.: Introduction to the hpc challenge benchmark suite (4 2005), https://www.osti.gov/biblio/860347
20. Moore, J.H.: A global view of epistasis. Nature genetics 37(1), 13–14 (2005)
21. Niel, C., Sinoquet, C., Dina, C., Rocheleau, G.: A survey about methods dedicated to epistasis detection. Frontiers in genetics 6, 285 (2015)
22. Omri Gottesman, e.a.: The electronic medical records and genomics (emerge) network: past, present, and future. Genetics in Medicine (2013)
23. Ram´ırez, C., Hern´andez, C.A., Palomar, O., Unsal, O., Ram´ırez, M.A., Cristal, A.: A risc-v simulator and benchmark suite for designing and evaluating vector architectures. ACM Trans. Archit. Code Optim. 17(4) (nov 2020), https://doi.org/10.1145/3422667
24. Ritchie, e.a.: Multifactor-dimensionality reduction reveals high-order interactions among estrogen-metabolism genes in sporadic breast cancer. The American Journal of Human Genetics 69(1), 138–147 (2001)
25. Uffelmann, e.a.: Genome-wide association studies. Nature Reviews Methods Primers 1(1), 59 (2021)
26. Wood, e.a.: Another explanation for apparent epistasis. Nature 514 (2014)
27. Wu, Z., Hammad, K., Beyene, A., Dawji, Y., Ghafar-Zadeh, E., Magierowski, S.: An fpga implementation of a portable dna sequencing device based on risc-v. In: 2022 20th IEEE Interregional NEWCAS Conference (NEWCAS). pp. 417–420 (2022)
28. Zaharia, M., Xin, R.S., Wendell, P., Das, T., Armbrust, M., Dave, A., Meng, X., Rosen, J., Venkataraman, S., Franklin, M.J., Ghodsi, A., Gonzalez, J., Shenker, S., Stoica, I.: Apache spark: a unified engine for big data processing. Communications of the ACM 59(11), 56–65 (2016)
29. Zhang, Y., Liu, J.S.: Bayesian inference of epistatic interactions in case-control studies. Nature genetics 39(9), 1167–1173 (2007)